iT邦幫忙

2025 iThome 鐵人賽

DAY 21
0
AI & Data

30天之後,你就是你團隊內最會n8n的人系列 第 21

[Day 21] 為你的 AI Agent 加上記憶功能 Memory:讓它記得你說過的話

  • 分享至 

  • xImage
  •  

昨天我們打造的 AI 研究助理很酷,但它有個致命缺陷:它是個金魚腦。
每次跟它說話,都是一次全新的對話。

比如:
我問:「@AI助理 幫我查一下 n8n 是什麼?」
它回答:「n8n 是一個開源的自動化工具...」
我接著問:「@AI助理 那跟 Zapier 有什麼不同?」
它(很可能)會回答:「『它』是什麼?請提供更明確的資訊。」

它完全忘了我們上一秒才剛聊過 n8n。

今天我們想要升級 AI 的大腦,使用 n8n 中專為「連續對話」設計的節點,並啟用它內建的 Memory 功能。這會讓我們的 Slack 機器人能夠記得上下文,理解代名詞(例如「它」、「那個」),進行真正的、有來有回的對話。


你在加入 AI Agent 節點的時候,可能就看到底下除了 Chat Model,還有 Memory,這個就是 AI Agent 的短期記憶功能,讓 AI 助理至少可以知道之前聊過什麼內容,不會變成金魚腦。

我們可以通過一個透過之前做過的主題練習Memory:

第一步:建立一個能「連續對話」的工作流
我們以之前打造的 @mention 機器人為基礎來改造。

  • 觸發器: 使用 Slack 觸發器,並設定 Trigger On 為 Bot / App Mention。

  • 解析指令: 接上一個 Set 節點,用我們學過的 replace 運算式,把 @機器人ID 去掉,得到乾淨的用戶提問 query_text。

到這裡,都還是我們熟悉的流程。

第二步:更換一顆具備「記憶功能」的大腦 (AI Agent 節點)
在 Set 節點後,加上 AI Agent 節點。

Chat Model 一樣選擇 ChatGPT 或者 Gemini

Input: 它的「輸入」,就是我們解析後的用戶提問:{{ $json.query_text }}。

第三步:植入「短期記憶」
這是今天最關鍵的設定。

在 AI Agent 節點的設定中,找到 Memory 區塊,點擊 Add Memory。

Memory Type: 選擇 Simple Memory
你可以把它想像成一個「只能記住最近幾句話」的記憶體,這足以應付大多數的連續對話。

Session ID: 這是實現記憶的靈魂。Session ID 就像是每一場對話的「房間號碼」。

只要 n8n 發現傳來的 Session ID 是一樣的,它就會把這次的對話,跟同一個房間號碼的歷史紀錄串連起來。

如果是一個新的 Session ID,它就會開一個新房間,開始一段全新的對話。

那問題來了,我們要怎麼設定 Session ID?
我們需要一個在同一個對話中「不變」,但在不同對話中「唯一」的值。
對於 Slack 來說,channel_id (頻道ID) 就是一個完美的選擇!這能讓機器人在同一個頻道中,持續地記得對話。

我們決定要用 Slack channel_id 作為 Session ID,那下一步就要在 Slack 和 AI Agent 節點之間加上一個 Set 節點:

  • Name 填入 sessionId
  • Value 則填入運算式:{{ $trigger.body.event.channel }}

這樣,你的 AI Agent 已經擁有了在每個頻道中獨立記住對話的能力!


你學會了 n8n 中實現「連續對話」的關鍵技術——對話記憶 (Conversational Memory),並理解了它與「長期記憶」的根本區別。

我們的 AI Agent 現在能聽、會上網、會思考,還會「短期記憶」。它已經越來越像一個真正的助理了。

接下來,我們將把之前學過的所有能力進行一次終極整合,打造一個能解決更複雜任務的完整 AI Agent 應用。


上一篇
[Day 20] 【AI Agent】賦予 AI 眼睛與手腳,學會上網搜尋的超能力
下一篇
[Day 22] 自動抓取 Google Meet 會議記錄,AI 助理幫你畫重點
系列文
30天之後,你就是你團隊內最會n8n的人25
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言